using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using SBW;

namespace Athena.SBW
{
    public class JarnacTranslator
    {

        ///<summary>
        ///none provided
        ///</summary>
        public static string get_SBML()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string get_SBML()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Returns the currently loaded SBML Model
        ///</summary>
        public static string getSBML()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getSBML()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Allows to load an SBML model into the Editor
        ///</summary>
        public static void doAnalysis(string var0)
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();
                oArguments.add(var0);

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                oService.getMethod("void doAnalysis(string)").call(oArguments);
                return;
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///SBML to Jarnac Script Translator
        ///</summary>
        public static string getName()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getName()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Returns the Version of the Translator
        ///</summary>
        public static string getVersion()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getVersion()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Frank Bergmann
        ///</summary>
        public static string getAuthor()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getAuthor()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///SBML to Jarnac Script Translator
        ///</summary>
        public static string getDescription()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getDescription()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///JarnacLite
        ///</summary>
        public static string getDisplayName()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getDisplayName()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Return Copyright information
        ///</summary>
        public static string getCopyright()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getCopyright()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Return URL
        ///</summary>
        public static string getURL()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getURL()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Return FileExtension
        ///</summary>
        public static string getFileExtension()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getFileExtension()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Return File Type
        ///</summary>
        public static string getFileType()
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string getFileType()").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Translates a SBML file to Jarnac Script
        ///</summary>
        public static string translate(string var0)
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();
                oArguments.add(var0);

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string translate(string)").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

        ///<summary>
        ///Translates a Jarnac script file to SBML
        ///</summary>
        public static string translateSBML(string var0)
        {
            try
            {
                DataBlockWriter oArguments = new DataBlockWriter();
                oArguments.add(var0);

                LowLevel.SBWConnect();
                Module oModule = new Module("JarnacLiteConsole");
                Service oService = oModule.getService("translator");
                return (string)HighLevel.convertArray(oService.getMethod("string translateSBML(string)").call(oArguments).getObject());
            }
            catch (SBWException e)
            {
                throw e;
            }
        }

    }
}